{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example: Synthetic Data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this tutorial we're going to use a synthetic data set in particular\n",
    "one that lies on a 2 dimensional manifold in 3 dimensional space\n",
    "that can be embedded isometrically into 2 dimensions -- an S curve."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from sklearn import datasets\n",
    "N = 1000\n",
    "X, color = datasets.samples_generator.make_s_curve(N, random_state=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can take a look at the data set with the following plot:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n8Atr3gn2hZkvcyrpFIPiBqJDx5MTJlksic7NzcXT01M8zt4DeykqLuKvP/9m166dHD68R6QenTlz\nhk+/XcyofndhrbBm4MCBTfamCgoKsLKyMnlGy8rKxMm5vo4aUlRUVLBj9zby8/MIDGhDn979alxb\ncxFzQVP4ZhvEW9UJWHi+bG1tMRqNjBgxgv3797fIvvV6PREREezcuRNfX1+6devG6tWrRd2ORuDO\nUxmD6odVp9O1yGzXmGSapfgxYLF6qqljkMvl9O1rmevq7OzMyg8Xolarxf8D7N63lx/+3k5YcDC9\ne/du8rHNcfz4cZZs+KlaN/euu5HL5YzuM4h2YeHY29tTWloq7sMcJ0+eFGOb8C/15/Lly1xOTsY3\nMBBfX1+RQy01Fg2tBJvyn2dYtOJj7B3smTq5du6qlE6n1Wp5Z+67ODjb4Sz3oagon71794o83dDQ\nUD6Y8SEuLi7NNlbCRFxSUoJCoUClUuHg4FAjRCSFsM3cINva2tI2LJJvji2lpCyfAfGDLDa8lIqY\nA2JCtaVKcC3hv+XptuQxraysWLp0KUOGDBEpY00wuHXitja6wkt5K4TMofbCBilaIhlXG8wZCdIk\nncFgYMyo0XRsH9PilUo9evTgdY2G6OhoSktLUalUPP6fR5DJZCZ6C+bnkZaWxtxVnzIgthfPPfmM\nuM3KyoqwsDB8fHxwcnKq1ViYV4LVViJ69OQxwkPCeOHJ58TrVN89yMrK4sS+Y0RFdWHDwS9Y9uVn\n/LHnV2JiYsSknL29PWfPnmXkyHHMnPk6Tzxh2rKlpKSEX9f+TL9e/U3Kmi1Bo9HQrVscAQFBbNu2\noc5xGo1G5ix4q7qJ5utzTb5z6tQpfly3mL5dxjGgv2mowxLH1WAwUFFRYRL6sVRs0NzwxK2ipQnH\nEsZZVlZWZ2ViUzBs2DBSUlJadJ9S3PaJtJaK7dRl8PR6PWVlZaKn4uLigq2t7S0rshCMbUlJCRqN\nBgcHBzEMUVRUxNmzZ5HJZDg4ONCnT58WTSoYDAZyc3P57Iev2LB1My4uLiaTTW3nnJWVRdqZM9zf\nbxQjBtaMIctkMlGoRTAUSqUSGxsb7OzsUKlUqFQqkV8tlC2Xl5eLgjXFxcWkpaWReTmT9Mx0jEbj\nDcW2yfz8+8/k5+fXel7BwcFs2bKFX3+tbsQ4duQ4EvdcYMqUV0y+V1VVRWlpAWVl1auYffv28f77\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f1752d284d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111, projection='3d')\n",
    "ax.scatter(X[:,0], X[:,1], X[:,2], c=color, s = 1)\n",
    "plt.title('orignal data')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# The Geometry Class"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from megaman.geometry import Geometry"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Geometry is the main class that will Cache things like distance/adjacency, \n",
    "affinity, and laplacian. \n",
    "\n",
    "You instantiate the Geometry class with:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "geom = Geometry()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "At class instantiation you can also pass  parameters & methods for \n",
    "the three main components:\n",
    "\n",
    "Adjacency: an NxN (sparse) pairwise matrix indicating neighborhood regions\n",
    "Affinity an NxN (sparse) pairwise matrix insicated similarity between points \n",
    "Laplacian an NxN (sparse) pairwsie matrix containing geometric manifold information\n",
    "\n",
    "These parameters can also be overwritten when using the individual calculation\n",
    "functions so that you don't have to re-initialize every time you want to change\n",
    "a parameter. \n",
    "\n",
    "If you already have fixed parameters then you can initialize with, for example:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "radius = 1.0\n",
    "adjacency_method = 'cyflann'\n",
    "adjacency_kwds = {'radius':radius} # ignore distances above this radius\n",
    "affinity_method = 'gaussian'\n",
    "affinity_kwds = {'radius':radius} # A = exp(-||x - y||/radius^2) \n",
    "laplacian_method = 'geometric'\n",
    "laplacian_kwds = {'scaling_epps':radius} # scaling ensures convergence to Laplace-Beltrami operator\n",
    "\n",
    "geom = Geometry(adjacency_method=adjacency_method, adjacency_kwds=adjacency_kwds,\n",
    "                affinity_method=affinity_method, affinity_kwds=affinity_kwds,\n",
    "                laplacian_method=laplacian_method, laplacian_kwds=laplacian_kwds)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Inputing your Data to Geometry"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After you have instantiated the Geometry class there are the .set functions\n",
    "which allow you to input your data to the Geometry object. As several methods\n",
    "work potentially with different types of matrices and also to allow you to\n",
    "assign your own Laplacian matrix without working through the API we have\n",
    "the following set functions:\n",
    "\n",
    "set_data_matrix(): input an (n_observation X n_dimensions) array of data points\n",
    "\n",
    "set_adjacency_matrix(): input an (n_observation X n_observation) pairwise (sparse)\n",
    "matrix indicating neighborhoods distances. This matrix should be sparse\n",
    "with zero entries considered Infinite. The diagonal is considered explicitly\n",
    "zero when calculating an affinity matrix. \n",
    "\n",
    "set_affinity_matrix(): input an (n_observation X n_observation) pairwise (sparse)\n",
    "indicating similarity between points. High values indicate strong degree of \n",
    "similarity, the diagonal should take on the maximum value in its row."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this example we're working with a data set of observed points and so we input with:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "geom.set_data_matrix(X)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Computing geometric matrices"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once you've input your data you may  be interested in computing the\n",
    "various geometric matrices like the distance, affinity etc.\n",
    "\n",
    "You can do this with the .compute functions.\n",
    "\n",
    "If you passed a method parameter e.g. adjacency_method = 'cyflann'\n",
    "then it will use this one. \n",
    "\n",
    "To update this use geom.adjacency_method = 'new_method_name'\n",
    "you can pass new keywords to these functions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "adjacency_matrix = geom.compute_adjacency_matrix()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that by defualt this is pass-by-reference pass copy=True to get a copied version."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Radius Selection"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "One important parameter to the adjacency function when using a\n",
    "radius neighbors method is the radius parameter. There is no\n",
    "default parameter for this as it should be chosen with care.\n",
    "\n",
    "In general this is an iterative process and depends inherently\n",
    "on the data itself. If the method does not produce the desired\n",
    "result the radius can be adjusted in order to examine new\n",
    "results."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In general you want to choose a small radius but one that is\n",
    "large enough to result in a fully connected graph (or at least\n",
    "a single large enough connected component). Connectedness\n",
    "is most important with Spectral Embedding and Diffusion\n",
    "Maps which are also the most scalable method. A too small\n",
    "radius can break some embedding methods specifically if there\n",
    "are neighbors with no or too few neighbors. \n",
    "\n",
    "You can check the connectedness of your affinity matrix\n",
    "as follows:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "6\n"
     ]
    }
   ],
   "source": [
    "from scipy.sparse.csgraph import connected_components\n",
    "\n",
    "rad1 = 0.2\n",
    "# compute an adjacency matrix with a radius\n",
    "geom.adjacency_kwds = {'radius':rad1}\n",
    "adjacency_matrix = geom.compute_adjacency_matrix()\n",
    "# compute the corresponding affinity matrix\n",
    "geom.affinity_kwds = {'radius':rad1}\n",
    "affinity_matrix = geom.compute_affinity_matrix({'radius':rad1})\n",
    "(number_connected_components, labels) = connected_components(affinity_matrix)\n",
    "print(number_connected_components)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1\n"
     ]
    }
   ],
   "source": [
    "rad1 = 0.5\n",
    "# compute an adjacency matrix with a radius\n",
    "geom.adjacency_kwds = {'radius':rad1}\n",
    "adjacency_matrix = geom.compute_adjacency_matrix()\n",
    "# compute the corresponding affinity matrix\n",
    "geom.affinity_kwds = {'radius':rad1}\n",
    "affinity_matrix = geom.compute_affinity_matrix({'radius':rad1})\n",
    "(number_connected_components, labels) = connected_components(affinity_matrix)\n",
    "print(number_connected_components)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Dictionary valued geometry"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you don't want to pre-compute a Geometry or you have previously\n",
    "determined the parameters you can pass a dictionary or geometry\n",
    "arguments to one of the embedding classes instead of a Geometry\n",
    "object with the geom argument."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "radius = 0.5\n",
    "adjacency_method = 'cyflann'\n",
    "adjacency_kwds = {'radius':radius}\n",
    "affinity_method = 'gaussian'\n",
    "affinity_kwds = {'radius':radius}\n",
    "laplacian_method = 'symmetricnormalized'\n",
    "laplacian_kwds = {'scaling_epps':radius}\n",
    "\n",
    "geom  = {'adjacency_method':adjacency_method, 'adjacency_kwds':adjacency_kwds,\n",
    "         'affinity_method':affinity_method, 'affinity_kwds':affinity_kwds,\n",
    "         'laplacian_method':laplacian_method, 'laplacian_kwds':laplacian_kwds}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Embedding"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since we're going to use the same geometry object for each embedding we're\n",
    "going to pass a geometry object instead of a dictionary."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "geom = Geometry(adjacency_method=adjacency_method, adjacency_kwds=adjacency_kwds,\n",
    "                affinity_method=affinity_method, affinity_kwds=affinity_kwds,\n",
    "                laplacian_method=laplacian_method, laplacian_kwds=laplacian_kwds)\n",
    "geom.set_data_matrix(X)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we will go through the API with the different embedding functions.\n",
    "\n",
    "First import the classes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from megaman.embedding import (Isomap, LocallyLinearEmbedding,\n",
    "                               LTSA, SpectralEmbedding)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You have to select an output dimnension. Since the data lie on an S-curve\n",
    "We pick dimension 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "n_components = 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Once you have your geometry selected, each method works fairly simply.\n",
    "Below demonstrates fitting each method:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "spectral = SpectralEmbedding(n_components=3, eigen_solver='amg',geom=geom, drop_first=False) # use 3 for spectral\n",
    "embed_spectral = spectral.fit_transform(X)\n",
    "\n",
    "ltsa = LTSA(n_components=n_components,eigen_solver='arpack',geom=geom)\n",
    "embed_ltsa = ltsa.fit_transform(X)\n",
    "\n",
    "lle = LocallyLinearEmbedding(n_components=n_components, eigen_solver='arpack',geom=geom)\n",
    "embed_lle = lle.fit_transform(X)\n",
    "\n",
    "isomap = Isomap(n_components=n_components, eigen_solver='arpack',geom=geom)\n",
    "embed_isomap = isomap.fit_transform(X)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "for visualization purposes we're going to use the 1st and 3rd \n",
    "spectral component and scale it up:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "embed_spectral = embed_spectral[:, [0, 2]] * 50.0\n",
    "tmp = embed_spectral[:, 1].copy()\n",
    "embed_spectral[:,1] = embed_spectral[:,0].copy()\n",
    "embed_spectral[:,0] = tmp.copy()\n",
    "tmp = None"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can examine the resulting embeddings in a 4x4 plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f174a828610>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(nrows=2, ncols=2)\n",
    "axes[0, 0].scatter(embed_ltsa[:, 0], embed_ltsa[:, 1], s=1, c=color)\n",
    "axes[0, 0].set_title('LTSA')\n",
    "axes[0, 1].scatter(embed_lle[:, 0], embed_lle[:, 1], s=1, c=color)\n",
    "axes[0, 1].set_title('LLE')\n",
    "axes[1, 0].scatter(embed_isomap[:, 0], embed_isomap[:, 1], s=1, c=color)\n",
    "axes[1, 0].set_title('Isomap')\n",
    "axes[1, 1].scatter(embed_spectral[:, 0], embed_spectral[:, 1], s=1, c=color)\n",
    "axes[1, 1].set_title('Spectral Embedding')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Riemannian Metric"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The Riemannian Metric can be used to estimate the distortion in the embedding\n",
    "and can also be used to calculat geometric qquantities isometrically with\n",
    "respect to the original manifold.\n",
    "\n",
    "In order to be able to compute a R. Metric you will need an embedding\n",
    "and a Laplacian. \n",
    "\n",
    "If you plan to estimate the Riemannian Metric then when you\n",
    "compute the Laplacian for best results you should use\n",
    "laplacian_method = 'geometric' and set the keyword\n",
    "parameter 'scaling_epps' to the 'radius' that was used\n",
    "in the affinity method.\n",
    "\n",
    "First import the class:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "geom.laplacian_method = 'geometric'\n",
    "geom.laplacian_kwds = {'scaling_epps':radius} # scaling ensures convergence to Laplace-Beltrami operator\n",
    "laplacian_matrix = geom.compute_laplacian_matrix()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from megaman.geometry.rmetric import RiemannMetric"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can then estimate the R metric on each embedding with:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "rmetric_spectral = RiemannMetric(embed_spectral, geom.laplacian_matrix)\n",
    "H_spectral = rmetric_spectral.get_dual_rmetric()\n",
    "\n",
    "rmetric_ltsa = RiemannMetric(embed_ltsa, geom.laplacian_matrix)\n",
    "H_ltsa = rmetric_ltsa.get_dual_rmetric()\n",
    "\n",
    "rmetric_lle = RiemannMetric(embed_lle, geom.laplacian_matrix)\n",
    "H_lle = rmetric_lle.get_dual_rmetric()\n",
    "\n",
    "rmetric_isomap = RiemannMetric(embed_isomap, geom.laplacian_matrix)\n",
    "H_isomap = rmetric_isomap.get_dual_rmetric()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can use the cover_plotter module included in megaman to\n",
    "plot a subset of the points as ellipses representing the\n",
    "distortion.\n",
    "\n",
    "Here's an example of using it with the isomap embedding.\n",
    "\n",
    "Note that we use equal aspect ratio otherwise it is hard\n",
    "to determine what the actual distortion is."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAB1CAYAAABNn1q2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXl8VNX5/983ySRksieTjWVIIDDsMMimAQkSQNBGqUvd\nNdLWatVvaxu7qFVq+20LLV2+YluX8sNWcatYFCoSlYgRSYCETZaELEAIJANJSGYSMiT398fh3rn3\nzp0kKCK283m98srMnXvvOffcc57znGf5HEmWZYIIIogggvjPR8iXXYEggggiiCAuDIICP4ggggji\nvwRBgR9EEEEE8V+CoMAPIogggvgvQVDgBxFEEEH8lyAo8IMIIogg/ktwXgS+JEnPS5J0XJKknQF+\nnylJUrMkSdvP/j16PsoNIoggggii7wg7T/dZAfwf8EIP53woy3LeeSoviCCCCCKIc8R50fBlWf4I\naOrlNOl8lBVEEEEEEcRnw4W04V8qSVK5JElrJUkadQHLDSKIIIIIgvNn0ukN2wC7LMseSZLmA28C\nwy9Q2UEEEUQQQXCBBL4sy22az/+WJOlpSZISZVk+aTxXkqQguU8QQQQRxDlCluVezebn06QjEcBO\nL0lSqubzFEAyE/YKZFn+j/x7/PHHv/Q6BJ8v+HzB5/vP++srzouGL0nSS0AOkCRJ0iHgcSBcyG75\nGeB6SZLuBbxAO/CN81FuEEEEEUQQfcd5EfiyLN/Sy+/LgeXno6wggggiiCA+G4KZthcQOTk5X3YV\nvlAEn++rjeDz/edDOhf7z4WAJEnyxVanIIIIIoiLGZIkIV9gp20QQQQRRBAXMS5UHH4QQfSI06fh\nwAFobgavFyIjweGAxMQvu2ZBBPGfg6BJJ4gvFadOwZYtsG0bdHT4/56WBlOmwMSJF75uQQTxVUFf\nTTrnReBLkvQ8cDVwXJblcQHO+RMwH3ADd8myXB7gvKDA/y9BbS2sWmUu6I0YMwYWLoTQ0C++XkF8\nNjQ2igm8qwusVhgwAKQgg9YFQV8F/gVhyzxLpzBUluVhkiRNBf4CTDtPZQfxFcSxY/Dii9DZ2bfz\nd+8GWYYbbvhi6xXEucHthrIy8XfihP43qxWGDhUrtEGDvpz6BaHHhWLLvIazk4Esy1uAOG32bRD/\nfVi9uu/CXsGePXD48BdTnyDOHZWV8H//B4WF/sIewOOBXbvgb3+D998XE/YXDZfLxdKlS3G5XF/o\n/c53ORcKF8ppOwDQDtW6s8eOX6Dyv1B0dQmH45EjQnNtbBSmh/b2ev71r9/z3HOLGD3agcvlYsWK\nFeTn52Oz2b7sal+Q+siy/7K+rg6Of8Y3v3Ej3H77567WfyxOnoT9+4VpRZJEP8zIgMxM4RA/ehTq\n66G9XbwbiwUSEoQGnp4OTU0unnrqKQDuv//+gP3iwAF45RXR9xV4PB7KyspwOp1YrVb1uCzDhx+K\n+owde259rq99VDnP7XazePFiAAoKCvrQYj2Xs2LFCh5++GG/+wU6frEjGKXzOXDmjHA4bt4MbW36\n37q74YUXtlBbO4Lp00tYtiydnTvf5g9/eBKA/Pz8zyRsz6eQPp+dtrsbPv1UaOENDeByudm8uYxL\nLnEycGAUaWlC8IwdCzt2+K4LJCQC4eBB0dbR0b5j5yoUPk/bmd3ji7rvufze0gJvvQW7drnZvr1c\nbU9ZhpdfFhPBwIFCuAfC6dNu1q9/hrKy5YCLqKgo037R3Q3r1umFPUBZWRmFhRsAyM7O9ruuuBg2\nbXqRxx/ve58L1EeN7aGc9/jjj/P444/jdrtxuVx9fh+BysnPz9f97+34xY4LJfDrAK0Vb+DZY6Z4\n4okn1M85OTkXZYacywUvvSQGkhZtbVBTA01NkJIyl4aG3TQ3e/jVr04ye/bVDBsWRnf3bH75y7f5\nwx9+BPh35EAalsvl4s4772TdunWA6Gx90cYCwazTmpWvHVyA3+e8vLv597+TaG723fvjj8spLCyk\nurqWhQsX0thoZdcusfx3uYRmGR7uLyT6MgG0tOgF/lNPPcXixYtxu926vmOE2aA+V2Gt3MPtdhMV\nFaVO3J914uyrZmr2jMq1c+cuYsOGRNraYPv2crU9x41z8u9/HyUhYTAWi4WmJjHhBhL6W7eWU1bW\nyZAhv+WKKzrJz19o2kafforuXStwOp26/0acOQMOx10sWdJJfn5+n9o+kGA1trn2POW3QBPWuZRj\ns9l0yplSdn5+/peq2W/cuJGNGzee83XnU+AHZMsE1gDfBV6RJGka0CzLcsBFfU+D9mLAoUMiuqS9\nXX+8tlYIe8VWabVacTqd1NfXk5ycTnn5HioqKikszMTpvJEbbkjlhhum6Dr+ihUr1IFv7LArVqxg\n3bp1LFiwQBX2gc7tC2w2m981ZvdUBtDGjRuZPHkyixcv1nz+E0VFkxg1aqpOUDudTmpqaqisrKCs\nrEzV+NrbhcmhvR1GjfIXEr1piSA0zL5AadcZM2bw5JNP8thjj7FkyRLdoO6rsFbulZcndul0u908\n/PBvOXhwEFOn3sTUqS5Gj76e7m4IOQfPmFYzNdatb9f+jvfem8a0aTMAfXuuX1/L3r3HycwMx263\n090tbOpTpkC/fv73014bHW2lrQ1sNv82OnAgcJ28Xi8lJSVMmTLFdMLu7IxT+25xcTGFhYXqfc1g\n1kfBX0Brz/ss2negcoxKFnBRmHKMirAyZnvDBWHLlGV5nSRJCyRJqkSEZX611kEaHDkCL7wgtBUt\namuhutr/fIvFgt1uB2DwYAfR0XNUoThq1Hz+9S84deqP/OxnohPl5+fjdrvVz1poO7JWI8rNzSUv\nL4+lS5eqv31eM0Nubq6uvI0bN7Ju3TomT57MggUL1M933PE8MTFjWb16NZWVFYAQ1FarlYULF6qT\ngBYREcLGvHMnjBlj1Qn23rTEkBB/DfX+++9XtW0tFEE1YsQI9u3bB8DatWt15/RVOGiF3kMPFbBy\n5Slyc+cQG+vkpZfK2LIlkt///igVFZlceSUkJfXNRKNMIHl5eaxZs4YTJ06YXmf2jPn5+ZSUjCUz\n8xLdvRWha7VOJjMzivT0dPW4UD5SGDy4228lZbX63kVbm4ef/exdli2b7tdGgZyvZWVlFBVtBKCu\nro6FCxditVp1qzZZtuqUGkV5OVcYNe/ezGufdTwYlSwFXzVTjoILwpZ59pz7z0dZXya6uuAf/2ij\nqGgHDoeD/fv343Q6CQmxUlnZSV3dMdLT07FYLOrgUr4DxMdHkpmp11qbmmDo0Hx1mQuoA9vYMY1a\niFYIGLUw4/e+dnjtPZXzbDYbK1euNF3W/vOfNl54YQOVlRUMHpyhE9RaAaJ/DuHYlmWh7U+b5tOK\nza7RCowJE6w6c45ZuyhQ6qpo+MuWLTOpi7i2q0v4FiorhVOzrQ1iYyE+HlJT4brr7lbv+a9/waFD\nsWo9tZNUU5Owmbe2ruF3vwusCRrfz9KlS9VVlKJNaq8ze8aODhujR1+pO1ZSUqIK3ZEjB2C3D1N/\nq6uro7a2hrCwdk6edPmtpLTtLFZaTzN2bAUFBQW6sgNlPzudTrxeL4cOHdKt7JRVm9frpaGhmpSU\nRgoKCrBarZ/JFKnAbHV2vp2seXl5bNy4kWXLlqmK1FcZoReb+WTx4sVPXGx1UvDBB008+eTbbN1a\nSlNTE1u3lmKxWNi9u52Ghg5qaqppa3OTmJhIfX091dVVhIVZiIuLIyxMxCQrgs3j8VBSUoLNZsPj\niea++7JJTLSyfPlyHn74YZKTkwOaNBQowtFqteJwOEhOTiY/P1/9brVa8Xq9jBkzRu3wxvu6XC6W\nL1+unq+9p/Y3m82mHteeU1sLb7xRTHNzE4mJiYwaNUp9LovFontOZeKLihIC3+sVk2hkpLDJm50L\nQogVFm7AarWSn28nOdm8PQI9y8CBA7n11lsDCpZDh4Q/Zts24XD2eMQKzu0W4YaHDsHu3VYmT86m\nrc1KcbH+emUV5/V6KS4upqKigrq6GBYunMT//M8dpqYN4/txOp0kJyfz4IMPYrfb1ffY03NGRIyi\ntjZS126KULfbB5OaGkFISBqSJLLVmpubaWlpJikphqlTB9HU1MTUqVPVcrTtPGfOeK64oplFi+7y\nq0dyMmzd6u+0tVgsZGRkMGzYMNWsZ7FYsNlsZ+/h5c03b+Pjj4u49tpreeSRR9R7G99dX2Cz2aiq\nquL2229n1apV2Gw2tm/fTk5ODvfcc4/uPsbxEQjGeqxYsYKnn34au91Odna2Oj6tViulpaXnVN8v\nEosXL+aJJ57o1a4TFPjngJ///B0++OBTsrKGMW/ePOLi4mhra2P79hNERSUSFmahqekkkhRBTEw6\nEEt0dDJdXV2cPr2XwYOjVUGmHVyDBtmJiQG73deJH3zwQT8BZTYolGNOp5M5c+boluelpaU8+uij\nakc36/CBOvDhw/DrX7/GL37xNAkJIYwcOcx0QMbFwfHjA2hqamL+/Pns3r1bfS673a57TpvNpgqm\n0NAz7NhRf1YwhxIZ6WH16tVs3VqqXqtAERg33DCWefMi/MI8XS4XS5Ys4fe//z1//etf+zRZKtiw\nQUS3nLWiBYQsw759Hp55Zjfx8RbKysqw2Wyq+cRms1FWVsYHH7zP4cOHOXz4CGlpk7jrrjGm2abG\n9zNnzhyys7N1E6sRyrsuLi7m0UcfJSpqHFFRY3VtPGnSJCwWC62trezatY2QkJMMGJBFZ2cYUVFR\nhIVZGDlyIMeP72Lr1lLi4uLUtrbZbERFWbnpprHceWcMubmXmdYjPFz815owOztFSPKRI3DqlIWE\nBDvd3RasVggPF0I/PLyYOXOGMGfOHD+BfC6KjgJFGNfX1/P0009TVVXFc889x1VXXYXT6QyoyJi1\nqXKecTzk5eWRlJRES0sLxcXFXH/99erkrry7vtb3i0RQ4H8BOHAgnpqaU8ybNw+bzYbdbmfz5s00\nN1sJDbUyatQourqikKRUvN4wLBYrZ86EcOJEMwcPVlFbW4vDka4OAEUL8nq9lJa+zrRp6bzyyis6\njUILs0HR00DRajWBBIlyjtKBY2P7c/z4NNavB7d7IE1N6WRmLuTDD9/i5z9/QC1HGSiTJjkID7eR\nnDxOFepm2p3PTCAEU0tLPdu3b8ZiSWP48Dj27Sth69ZSsrKGMWvWLI4fP84LL7xA//79SUpKIifH\nzm23RRAWZj5IH330UaqqqhgxYgQPPvggq1at6lX7KikRCUF9xebN2/joIzf19TWUl2/CarVy7Ngx\n9ZmUZx4wYABDhgxl3LhpDB5sIZDFIpDWGUjbVd51Tk4OV111FZdffhNHjvTTtbHVaqWuro7t27eR\nlGTj6NFaBg+OZOJEO1FRoSQkxJGeHkZGRhKRkVE4nU6SkiwMGQKTJln4znfsTJ8eQUREz3Wx28Uq\nqKZGxOTv2tXJzp11yLKV9vZQWlpENFZDg/C5eDyv8eyzd/pp9r21RU9tolyjrIq0q6NAK1ojjOPH\nOB7sdjvh4eEsXryYoqIi7HY7BQUFjBkzpk8rhguFoMD/AvDnP39AUdEenVY0YMAAjhxpJjNzHG53\nP86ciUaSfGEa4eFnCAlxIUkhNDZ20traxYgRNlXol5WVcfjwYf75z8dJTj5DXl6equEDuk5uNih6\nGiiBtBqzc8aMGUNMTH+6u79FQ4NQ4crKyti6tZTIyHj695/DuHFjeOih63SakCg7G69XZMEqQr6k\npISamhoGDBjA0KFD1eMWi4Xu7m5GjRpFXFwIc+YMYdiwcKxWIbRmzZqF1WrlhRde4MQJF3V1u/nZ\nz2Zw5ZUilFNpE+MgtVqtWCwWSkpKVI0vOTkZh8NhuipauvQ5tm4dwieflFJTU0NKSoq6+vJ4PBQX\nF/sdj4pKxOWKoH//kTgcUUyc6CQ9PV0VtgANDQ1MmTKFYcOGYbFYCAuDESMCt73D4WDFihW6+gWa\nxJV3fc899zBnzhySkvpRUuIzKSn1VCaAnJwc4uLicDqdREVZiIsTuRCPPQbz54dzyy125s61MHy4\ni6Ki5UycaOOVV/pWF0kSgnzbNqHVV1UdoaqqWjVhgkj6SkoS5z3wQH8GDrQFFJC99VWzeijXKMqM\nVqnpqwnHeJ52PCjHlYl0ypQpAIwZM6bHldiXgaDA/wKQmZnMvn2RdHd3q4JARNtkUFMj4py1iI2F\njo4j1NZWk5qaRmJiIklJdrq6QklK8pl1hg/vzze/mcaiRXfpNPzy8nJdJzcbFH0R6n2BMONM4+TJ\ncPWYUXMMDR1CSckqxo/PVG3O+fn5REVZGTpUCJPWVli/voQPPnif2toaLBYLdXV1WK1Wdu/eTXd3\nN0VFG4mLi+Paa7N58MFwpk8X2uXo0XYSEiykpMCECTEcOLCSV1+9k0svHagLddQOUo/Hw4oVK7jn\nnnu4/vrr/ezgZpre8uXLeeSR1bhcCZSVbae2tkZnRiop8dW/oaGBrKwsLBYLoaEWWlvjCAsLZ/x4\nOzExwjl/+PBh6urqqKur44MP3tfdKzoaxpnSCQo89dRyfvSjpzl+fBQHDgzkd7/7ELt9NuPHj+K7\n372JqCjzd+3xQHl5Ey+/XMLp02l0dIQREiLMLcoEoNRDmQgkCb72NZGAJUnCnyRJPmFaVVXF008/\nzZ49e5g3b16PgvPQIVi+3M3HH5cyerSN4cOjkKRWJkzIIC0tjP79ISsLUlIgLAwkycqiRZ+9n/ZV\ngJu1FQReqXg8HsrLy3XRSsbjNpuNnJwcysvLLyozjhZ9FfjnKyzzSuAPCG6e52VZ/o3h95nAv4Cq\ns4fekGX5F+ej7AsJpzORCRNq+eMfP8VisagvvV8/vQPLahXRHeHhnLXlo4vWqa8XTIKKVviTn4xi\n7NiJfmF6q1at4vHHHz+vIWCBonUOHBARKj1BJPVsIz6+zS9yA4TAz8iAiRNH8L//W01LSxweTzeF\nhRvOxuQfYPbsGdx00yRuvnkAe/cupb09n6goGwkJ4HC42LDBl/T1ve+9bVoPbcSKEt3S1SVx330/\n5Ic/LECSfJEYSpSF0q4gIm3KykZitU6gq6uL9PR0XXSRw+Hg4MGDdHd366JNwjSjxeMR/gttKOJl\nl2WTlTUMh8OhntcTE2hLC4SFfYfc3MtITXVSWFhGYeFHtLVFkp29iOefb6O9/SkeeOAm9V01NYnk\ntb17YdOmTyks3MiYMekkJQ0HhJIxZIjof1qEh8N114k9BoxQ+pfSRuvWrWPFihUUFBSYRge53fDa\na/DJJ+W6SJ85cwJzWO/YAdnZBHS4m8HYV431OJdQS22UjjacU5tjsnLlSsLCbLS2wrPPvsqTT+qj\ner6q2bVafG6BLwn7xVPAbOAoUCpJ0r9kWd5nOPVDWZbz/G7wFcOjj15FcnITo0ePweMRnb+5WSzb\nXS7xXSsYtHH42lDNqioLY8da+f73s8nJgd/+dqlfmN7ixYtZsmTJeYmrVxAoPG3XLv9zteF0Fovl\nrCDLZ+HCADaKsxg+PImnn76NsDBwu1389a87+drXJrN+/VEWLZqAzWZj6dKl/PjHDxMSog+p0yaQ\naFd6gZ5/8uRvcuONo2lpmcmyZaLtk5Lgsstg/HhYs2aNmjOgjWM/dSqao0crqa6uItTAubx//36q\nq6uYMWMWqalOLJYRbNsmHLetrUIzVmzcig9GQWVlBRkZGWodwwKMsNZWWLECTp2KURUHh8NBTU2N\nOmG8994OCgtrCQ19iZ/97EFqawV/jcfjKxtg/PiBNDQIjiJffoMIn5QkGD4cZs8W2rYZtMLUGH5r\nhn//W9S/t5wJLWRZ5KpoBX5vfbq3UEqjEO8p61zJb3G73brkQl+OyR7uvXcro0dfeTbqaRTz5q1j\n+PBL6ewUE2ag8N+vEs6Hhj8FqJBluRZAkqSXEeyYRoH/lWTGNnZKm83GI498T3fO5s1C0A8bJiIV\namv1WbiKoO/u7qa2tgaAqCg7M2fCrFniHKP2YPx/vnhvzLQUWYaqKv9zlYHs9Xp1mpzRdAVihbN3\nr+DSqajwJaZZLDYmTPgeAwfCj37UM0dJfn4+7777rpp9qYVRE4uMtPHmm1BRkcDIkQvU886cEcRs\nq1cL27Jyf5EZ+7B63tq1Vcyc+Q2ysob5ZQM7nU46OiIIDR1HZGQ4Ho/vHcbFpdPYGMKGDdXMn9+f\n2FhhK1dCI2fOzMHhcFBcXIzT6SQjw9z88N57/vQE+/fvp7KyggEDBmgm2GtJTR1nSlamzVmIjhar\nq6YmX7hrdraY+KKiTKtgCqNQM/b/w4cFVbWx/L7g1Cn9995yRXrTqI10Cj1lnYsIpCi/rGabzcZd\nd72E211GY6MvF6GoaCO5uXMoK4unoqKN06ef4557brsoSA8/D86HwDcyYR5BTAJGXCpJUjmCQ6dA\nluVPz0PZXzj6ImhbWnyf09LE36lTQvC0tcG+fYeprt7P8OFDmDjRxqRJyaSlmafgK5mWWhMEnL/l\npJmWcvy4eViiMqA9Hg8Wi0WdAA4ehMmTfeedOgWvvioErBFer3Dsbd8OTidcfbV4brN62Gw2Vq1a\nZapharN9//CHV4mPv8+PsM6I0lIYO1aUs3//fl2Y3aefFpGcLLqpMRu4s9NKePgkVbh6vV727t1L\nU9NJMjOhqyucffuOEBrazXXXDUeS0AmJ/fv3U1i4AUmS+clPpvvV69Qp/xWVx+PB6/Uyc2YOgG6C\nrauD11/3j3s3IiRErG4U1NbCnDk9X9MbjP1/z57Pfi8jJUZvSo3SRxQqYuNKwEinEChDXVue9hwR\nNAF79ggns2KaU5yzSp9Yv34HhYW7sVhW8PDDQQ2/L9gG2GVZ9pzdDOVNYPgFKvtzoS+CVivwFcTG\nij8AhyONsrJ6nM5BOseQVkAqy0xFwzVmXGo7t1ETcrlcPPHEE6xfv56///3vTJt2bnvLiGSjwKRl\nRk1OS22smCbMtH4tZFkI/dOn4frrzXdC6i0tftmyZUybNgdZvlMV9r2RrX30Edxyi8+0k5OTQ0FB\nAb/61XU895xYEWifTeFw1wrX+vp6mppOkpCQyIABaYwefYaiooHExQ2mpkZQD5uZNwoKRpsSle3d\nC62t+nprJwwlvNPpdOLxeNiwYT/d3adJSOgIyFFjhiNHxHvpiSGzN2hNIS6Xi8pK33sxtn1P78Lj\n8bBmzetMmLBAl8HdGzOllstGS1hnZubsLdhDq+VHRUXx0EMFrF/vf562v/sm4tuYObMH7/tXBOdD\n4NcBds13PyZMWZbbNJ//LUnS05IkJcqybOCaFLiY2DIDcXZooTHh+sHlcrF+/Xo16kELZdMIl8tF\n8dn0TafTydy5c8nLyyMnJ8d0ojGjUVi+fDkAt99+OxUVFbrye7P9d3aak5YFGsDK87pcLn74ww9J\nSRHp/X2hOd6zR5getCuEQM9ldnzIkAI0j6fWu6amRuVu0eLAASHUjcIkLQ0WLIA1a/R1qK5Gp9nX\n19er7ZaensaYMeHExJwhPb2RyMhBHD0qnkcrJCQJfvrTbMaONddMjxxpYfXqt3XcQ4pwP3jwIA6H\nQ71XcXEx5eUu4ARwSBcs0Bs8Hg+//OXL/PjHeWo7GqkxAvUJLWsqiCiQkJBEursfVI8Z+4xC6+D1\nev3GrDj3QRITq/pMHaLUU+GyAXQ2+5tvvpnCwsJeWVK10PaDmhqfU33KlCm6Vay23kVFG8nKGsaW\nLZcwdWqfivnC8WWyZZYCWZIkDQbqgZuAm7UnSJKUqrBjSpI0BbGXrqmwh4uPLTOQh1/psCEhLRQX\n7zYVduvXr1cH9q233qr77fRp3/0LCwtZsGABDz/8sHrfQCYkMzv/a6+9RmlpKTNnztQRcz300EOm\n3CxaSJJeQ1UEvdfrVZe5SuKUwqQI8PTTL7JypYvcXLF5mdbB25PgLy01F/iBVlPK99mzF/kJ6ECs\nnFp4PObCZOJEYUf/6CNhbjh9WlA+KFDoMQBGjLDjcIjInOLiMj74YAO5ud2MGZNNSkorH3/8AdOn\nzyIjI4aJEwX/ztKl5hPYu+/+m8rKCrKyhqntbrVaaWhooLq6ivXr16t9xel0sn37bk6ePE5m5hCd\nQFL8BkqbjxkzRuV3UlYNhYW/IDr6kMpMqWjJvZkpfTbxRO6++8dMn34vdvu1VFb6HNHn4rSdPXs8\nc+c+ovOl9MUXZewTWu4oM19Pb9D2g5IS33Flwm5tVaKnBOWHtn+99dZO7r03W80H+TLxpbFlyrLc\nJUnS/cC7+MIy90qSdA9n2TKB6yVJuhfwAu3ANz5vuRcSRueQscNu2fIvCguFYDAKnHnz5un+a3E2\nP0V3/744hYzCy2azsWDBAkpLSxk4cKDOwWnG9GeEEnGiQNHcZs7MUU0M2oiduLgu7rprPOPH30lu\n7h7dgDc6eMF/pdDQIHZe6t+/5+cyHn/bJErTag3MyqlACcIJxOs/apSNTZugqMh3jdfrpbu7m6ys\n/kyenEJWls/nohV0VivU1LzKSy99kwkTljB/fu8misjIY8ycmeNnnjH2FaXdHI4JWCwyU6eO1Z2v\nDQkFOHToENXVVaqG7XQ6ufTSHwCNOuEYqF5KeyQm2pg8+Zvk5Q2npSWOgwfho4/cwHEsFjtJSeLd\nJSToTX2BtGSAqVOjmTVL2OPNmE0D7QNh7BNmNvv77++dl9FspVtff4ri4l04HA527qymX7/xdHaG\nqys7uz2NoUOtXHPNQnbsEP2rre3zmci+bJwvtsx3AIfh2F81n5cDy89HWV8GeuPavu++q/j0032m\nHd1ms/lp9goUgX8+wr3M6HO1ZqGeJpIBA/TLc71As+qOtbaGUFT0Kk8+WcegQXcwfnw2igxSKBfq\n6uoYPHgwhYXbSE0dzb59dXz66Snq6o5yySVZpKeLaCajwA8El8vF88+vwOW6i/LyAzrufIfDwW4l\nbMQEMTGo9dNO1qDnNb/hBpGQtGYNNDW1884766mt3UNubg6JiYmsWvVPlVLD6NO45ZaFpKSc9BNi\ngUwUf/zjw3zta+/5rYCMfUUxkTid/Zg+fSxlZWWMH++kqclKSwuEh08iNbWT48e3kpmZSnp6uroi\nAUhJsfJEWwYjAAAgAElEQVS9732X5mYfw6MiTM3q9fDDD/Pee8Xk5PyZ996rwumco9rmLRYLI0eO\nZudOsQpqbITBg4X/QkGgqJ3YWBExFKhNlPJ729vhXG32Zs+n9QNs2rSJwsIdbN++k5Mnh5CZeQy7\n3a6u7Jqbm/F6R5KYaGXq1OyzCWR9LvKiRHCLw3OEWYd1OJK4445sDh48t3udL03BTHtR6tiXiSQh\nAWbNGg/4hLxx4LrdViyWbEJDvUydGklExHC2bhWOwe5uERYYEgKHDzdRWRlGU1MDJ060kpBwgKys\nLDIzI0hISOfwYREvPn68MKn0BStWrODHP15CVlZ/1TwGaBK6fMeM5qTRo+HECT33vDEUVEFHh1jt\nHDy4ndracjWJ6uWXX+bECSE0FYGsXbVERPgI4gOtIhQno9vt5vHHH+eKK5w6Hp/ADk8vgwfvZPXq\nfVRWnuTQoXTS04ec/S2CoUOnExU1lFGjUsnK6tLRPFx6qc/8EshurjX/vf/+h7zzTiIHD77vt7dB\ndnY2sizMHErIcW2t+K8V+kZIElxzjY9wLRD6EmXTm2lV+zzG48r9taat0NBBZGYOobo6jISEdHXf\ngPT0dJqbm2lqOsnevXsZOXIku3ZZmD7dP6Htq4agwO8FfU14ys0VseyBNocww5gx56cOfQkd7ewU\nAjlQItCECdF0dpo7AysrfRFFFouFyy+fQESEsHkfPeoLt0tOhtjYDJKSkoiIiMFqPUpTUy0NDQ1k\nZGSoXOnp6els2WIhNVW0W2/Iz8/n1KkomprmkZGh59x3OBwMGDBA/W40J40eHbh9jG2lyFntCqes\nrIwTJ1wkJCSSkpKCx+PR2Mc3EB5+hrfeKuXHP/ZfOSifldwBRYtdsmQJl1+egMUC774r+oyZ03zG\njMlMm3aA0NA63nwzhMTEq7HZtDuFivcxaJCd1laR/6Boov37i30GoOf+of3tBz/4O2fO7MHhcPi1\nszIhDRo0kaqqSPX4oUOiLKNZEISwz80VtOC9oS8ae2+m1Z6eVYnQUXxlAH/72wPMmvU2ISFDSU3t\nr2bCi9XMSDUUt76+HovFrgZZfJURFPi9QOlAXV0SV131Q06eFILzzJkmPvlkBd/61h3YbDbS04UA\nN8tYNUNmZt9NGmbLUaP2ov2voLlZbLJeVtbG++/vYMIEJwkJYgMRux0mTBDLchAx8qWl+gnL4/Hw\nwQcHCQ8foQ6GxEShrX36qcgsPnOmi9bWNqKjo2lsDCUszEJ0tNghw2KJA1JoaWlR7aLV1VVYLGeI\njx/Chg1uNm5cyfe+d6P6nIE0tjvuuJsXX0zS/aYIRsV5ZcwXGDIEBg3qPbRWKeNrX7sbSNKtcLTJ\nZ0VFG9XflON33z2GmTNHExIim64cFD+KVutX/l96qegHmzfD6dMT1PJiY8UKaNKkKOLivk1NjYst\nW/bT1TUCWQ7sMWxrE1FJ114raBQU34UZvYTy3G63m4KCAtxuN9u3h6nPbVQslAlp9myIjc1Wk6hk\nGSorO2hu3qZbnUREwNe/bk7l8FnRm2m1p+Nmv0VFRREXN4mXXor1O1cR+kpmvCSJaK+qKtGvvqoI\nkqf1AofDQVjYUEJD72bPnnBqakTo3ksvbefZZ8twu9tYsGAskiQG78GD6BKCzDb1sFjgxhvx27mp\npzpoKVuN5E1mBGpbt57k/vtLcLtTzm4oLih8+/e3094ubOjl5UJ7HzBAhCm63UJjV+r96qsb2Lu3\nS93UxWIJZcwYMcC3bj1KdLSVxsZmTpw4RUhIKGFh/WhpEYNdksSg6eyUaWs7QViYGLDt7e1cdlka\nKSn9KCkpZeXKl0lObvQjilOgEHsNGGAjJia7R24aLWuk1Sri7/v1C8xKaSxj8GAb6enZurwK5Z4p\nKSk6CmSLxcKIEXZuu60fcXG+9te+C6vVyrx58wJSVLtcLlauXM411ziYPz+ea66xc/nlFmbOFFqx\nsu9sSYkVSbKTkhJKW5svussIhZ3yu98VvgsFxk08tM/96KOPEh8fz3PPvYXXexl1dXV+G9Aofayp\nqYlp06ZitwvyNsW0c/DgYUpL31DpsSsqCvnudxNxOD47oV9vG6IEIg3siUzQ+G6ys7OJjY3g/ffN\nQ6tDQ0OJi4sjNDSUoUPFCralRShKFxuCbJnnCWfOWNmzZxKnT+uNkMJ5F4vdPguv18Lw4UKQjx4t\nhGldnRD0hw8f5oMP3ldZI9PS+iHLKxk+PDagAAq0c1NfObj374cf/nAb69e/r2O7VISVFgr3Sloa\nXHKJ0GBaW4XDsKysjcjIJFpbT2GxWJgyJY6QENi48SjV1VWEhIQSGuolNDSG6OhYvN4QzpwRgic0\nFEJCQoiMjMRiiSIjI4m6ujoaGvYTF9dIeno6hw8fJitrGOnph9WNJYzPpmwI8z//8yApKTZdDL4C\nI51xVJSFm26CsDBfO5qxZirtnJeXp5Y9erSV3buFCUwLIwWx1Qp33CH8Hz0Jp54mGy3l74wZ2URG\nCiFvdAz++98itNRigfR0IdQtFkGZEB0tnKIDBwrOnKQkYWfX2tUDMU1q+eSjooZw5EiSyvap3azG\n6/Xy9tsibyAuLo6MDDupqSLowGqFpKRInE43+fmTaWh4gT//+VbsdluP+QK9CfTPsiHKZ0FEhFB6\n3G5/OpS6ujri4iKx273U1W3BZrPhdlsYP1608cWEi4ot8+w5fwLmIzYxv0uW5fLzUfYXjX/9q2fa\nARCmkLAwmDdPkIXV16+grc1KYeEHXHHFd8jNnQN4KCz8IyEhEu++u5pt2xYEjI/vyQ7ZFydsYSFM\nmDARWZYCOmEVCGFZxqlTE/jGN6K4+25hYmhrc1JV5SIpyUZr61FmzbKRkiJMVmlp6cgydHd3c/hw\nNYMHZxEenqQOGK/X56QLDQ0lMjKOurqjdHQcBnZx7NhgNaQwOTmW995bTGlpKStXrlRNCUqYnuJk\ny8nJ4fvfL2D7dsE2qoU2PDEpqZNnnplLUpI+Dt5sqR+onW++WWxUf/q0EPzHjwthcOaMEMapqeKc\ntDRxvpIlHSgBKFA5fcniPnlSmM60iInRa/BG7Nzp42jqCdr+dP/9Drq7fSYxrU8B8MsbADHZJSRA\nVFQ/CgquAeCyy75BTIynVwqQ3vxO2rY5X8SBZoiOFo7YrCwPW7bsIjV1PF1d/aioOEh1dTGZmSOp\nr5d1/pVjx766oZkXhC3zLJ3CUFmWh0mSNBX4C3Bu+f9fAtrazEnFjJBlEcOdmgrvvLOSn/xEIWia\nyu23TyAhwUZrq4sVKy4jLy+PNWsu7TGT9vPw5jQ0iJC5vhJbaQd2dHQ2djtMnw6RkVa6u+2EhoLV\nmoUkCeeslvArJSWFkJAQ0tNTCQvz/d7V1U1LSyvR0dGEhYXS2dlEQ8N67PZQMjMHs2DBAqxW69kI\nm92MGDFCR8kL+jC9BQsWkJeXx+9/v5Rbbsln+3Yb27f7/A0Oh4Pa2l1MnAh//ONElU/GmN9gFCyB\n2nnAAGFye+EFQevb2SkEfXi4EPJxcbBqlfjcV6ezWTl9QV1d7+cYoRCoKYs5M+FqFKLJyZCY6O+7\n0Ar4QMl0w3z7pPdZKemtTcwosLX1P59IT4d33y3jww83kJt7huzsbIYOtZOaegKn02e/Udri+HEY\nOfK8V+OC4EKxZV4DvAAgy/IWSZLitNm3Fyvq6vyjbrThcyEhVqqrhZCVZWFKGT78O9xxx1DuuGMG\nsbGyKZ+3QggVCH0ZNIESVRSWyr5CoeQdPHgwRUXFpKePZdGiWPr183EBKTh1StAOaDNQtdTPbncT\nkZFJdHQ043LtIzZ2MIMGDaSrKw6rNZ6amt3k5s5R67pw4UIOH47jiSfuYs2aNX45BG+//TaSJLFs\n2TLWrFmjG/Tz5wvB1tQEL774MhUVD/Ctby0hNdWcXMsMgX7fvh3eflsIebOMYAXHjsE//gHjxn2f\nJUv8k4m05ZiFEfak5SoCedKkbwL+6mRvHEIKXz/4C1ctP41SdkSEeNZNm8Q1RoVBzzekL3vqVKEc\n1dSIciVJmDyE6clcOz+X3JPPM2EaYbZamDgRdu7UT3A9Pb8Zd9ZXBReKLdN4Tt3ZYxe1wDdzjika\nscfTj379LtGRbJ04ASEhUWRmXstbb0F9/a/4zW9+arrU/zx0x8YBq8Wddz4A+CgTeyK4Ah/1gyzD\nwYNujhxJo74+FpdLhGKKjEoxiBWHqTZeGbRsku3Ex0dgs8UREzOI9PTUs9zxFq6/fgHl5fqNRqxW\nK488cjUOh38brFmzhg8//FD9bBz0YWHCiZacDA88cBPR0e3nRSDs2OHPrxMISlt6PE6uvrog4N61\nYP6+exJkyvkPPZRETMzdfr+bhXFqofUDGCccLT+Ntuxp02DrVr0tW/ucSh9SEsJaWzuwWq1ERo6l\nvd08AqGsbAdr1rxDW1skixf3nhFrhvPJQ28Wy3/XXflkZtqwWrNVf1BP1CDnQjd9sSEYltkD4uP9\nO7vT6cTthvr6BNLTvX5O0PZ2sZRuaoLS0lFAGB5lxwoNzLQurcYOBNzQQRmwubm56mBXzB+RkVH0\n61egCmctodWUKVNYvXq1mlTj9XqprKxg0KDR9O8/n+7ukyQmptPaKlYsLpf4i48XIadKmJ92UxfQ\ns0kmJkYRFRVGfLzvd2Hn9TcxjR4dOBfBmIjT06A/XwKhowNT+oZA0BK3WSzXcsklUQGFgZlw76ne\nynnz5l3LG2+I9yHLenoHr9eL1+tVcwMUhIf7CyUt3cZjjz3GggULWLZsGYCO4O3228WqRdtlzSeX\nFKqrQ2lo2EBoaHdA86HDcSm5uT/n9OkJvP8+5OToacG/SPu8GQLF8t94YwEvvNAzGZ8ScdfQ8CkT\nJtz4leTGvyBsmWe/D+rlHBUXC1tmfLx/Z+/Xz8qJE+lUVx8CwkhPT1cZFV0uF/37x7Br16dnJ4Zo\nwJzfxTjYjanlQMBUc6NtWmseuvbaPJYte5m4uDw/DaWkpITKygqVhKukpASIwGKZSEhINHa70NI6\nO4U5wGIBj8fLzp31dHSkMnq0SXYNeo1fksKIjNSHuZlta5eWJjIwA8GYiHM+BIM2q1RZNWjvVV5u\nHp4XyHyiJdYqKSmnqCibBQv8r1eepy+TkvY5b7ihgE8+gbIyYUaQJOGsjY+HpCSxaXth4QY/Bs0h\nQ3yTs4L8fLG5zLp16+js7FQd4aCnmOjfH+65B9avh48/bmTt2neZOXOmyqkEMHLkFNrakpg6NZ0D\nB8y5c7RtptTtww+F+fOGG3z1+ywr3XPtC4G2SszLy+Pdd9+lsbGRjo79NDcXk5Exh6QkmykZnwgO\nWENR0XIyM91f6u5XFzVbJrAG+C7wiiRJ04Dmnuz3F0tYZmwszJ07XqdJtbRYiYtLIyGhDZvNRl1d\nHbW1NTQ1NdHc3ITbbaGhoZGamga83qFAAVVVghZ41KjAXBxmqeWBUs3NyNOUNlu6dCnPPPNT8vLe\nwemcrSO0UiiY09PTsVqtTJkyBZerP3FxvvlakkSoXUgIJCZ2sHXrfpqbm+ju7iYtLYPYWP+di7Qa\nf2qqCA88cEA4txIS9AL/9Gk3jY3r+Pa3ZxEe3jfBffIk/OpXb7Fs2XPU1VlISZH59rdv73WwG1dN\nRlI5pW0VYbB9u/n9jDxDWuGvJW47cICAAr+vEHX8Obt2DWfIEDEjxscLgS/Lou1PnRIZrvHxk7ji\nCknnWATR/kYoOQCFhYUqBXcgiom4OOG0/tvfvk1l5SHa2zfx058uwWazYrfD++9bSU0dC0Bycu9t\nphWa+/aJqDYlC1jp9wrffl8EeG+JiIHOB/2ksmbNGgoLCyksLGTPnj2sW7eOKVPu4cSJZDIz9RFJ\nCi/+N7+ZxoABPzkv5sPPg4uaLVOW5XWSJC2QJKkSEZb55bbWOWDu3Gjefdeidl6Xqz9tbeE0NZ3U\nadZRUdGEh/enf/9ooqIaSUkRWq/FAkOGpPDaa4I3/eqrMbX1mqWWf5aJT+mIeXkTeOcdAJ8pRZs6\nDhASYsVm00sHm80X3dHYuJ3m5pOA0Pzr60V0QnmAgNrYWCFsQkPFeWPHwuWXC/NATIzI0v3nP5/l\n17/+Pg7Hkl41pIoK2LhROM9DQ79Bbu5wysu9FBUVUlm5keXLr1fjoc20Pu3epVpiOW2ElFYYtLeb\n10fZ1FxZ0ishoFqeGfCfCD8Lvv71u9m4cTJpaT43WFoaHD7sv2NUc3MEVutlOm0+OjpwBImWYE8b\n/hoIv/71b9i7dzGHDkWwevUusrOzeeMNsQIcOrRnW3ZPJqePPhI5HxaL/6YkfSFNy8/Pp7GxkRdf\nfJHKykqVuqInniBlUtm/f7+6ulM0fKfTyaJFi8jJyaGxsZGSkr8wceLTREVZ1aCNTz/dQlHR97nq\nqlspKHgi8INf5LggbJlnv382j82XjHHjYMECsdON1+tlz54a4uNTGTw4QzVlhISEYLUmU1/fQWRk\nmE5jHjw4Q+VoqamBv/xFxEgrSk9vuzydqwlDq/0PHAgvvyyEBfjT1xq5QaxWPe/JpEkT8Hq3cvSo\nja4uaGvz4vVasNuFhmm8duxYaGoSG74sWnQF996brkaKKPjOd24jIsKr05C0IYQKPvlEmBXcbr1p\nQKFPsNmcPPMMfOtbouyeTAO5ubmmkVKgN4/99a/+QhV8m5pXV1fpKKNBb7qIjbX2+t56+r27GwoL\nk5g8OUd3PDJSvBfzpDOxmho7VqzOvva1c0sKCtRux4/De+8N5xvfeFbn5G9tFXkpTU2CnsNInKZt\nD8XkVFdXp7OHt7XB5s1NbNnyHPn5+b1q+WZbH+7Zs4fKykqSk5N1Ib3a9tVep0wqxn0BCgsLmTt3\nLg6HQ70+OTmZvLxxvPHGMm688U5iY5OQ5bGsXHnrl67Zf14EM217gSTBhAkRdHbasVpT2L+/naam\nZhITE0lMTFTTr2trm3G5KnG7m9XjILRdjX+T7m4fyVpmZuCMwkDHe8tQ1CI8XExYkZEiNr+7W58t\nWll5moqKo1itVlJSQhk3Ts9qaLFYGDJkMC0tFZSX7yQ8PIHU1HiGDBFC9tQp0T52O4wYISJn3npr\nFQcO/Jnw8EKuuWaeX10Vjbi93cr69SKLtLBQcP4cOiTMCdu3i02+QfgdFFoIpe7K/44OOHCglQ8+\n+BPXXJPnl6mrZCb/4he/8JtMlXpp6Q527zZPslOoBjIyMpgyZQpDhw5V21Bbv1mz7GzapH9vxvfV\nUwbpli09r57Af+NzEIECsbGCP2f8+MD9waxssyzc5maxbWVbm3+GcXV1JzU1dVitVlpbQwkP1yeB\nadvD6XTS0NBAZWWFmmmutOW2ba/zy1/eR3JyMnPmzGHjxo0sXrwYq9Xq57Mzq+OkSZOoqqriL3/5\nCw6HQ/1NecY9e/bw4IMPEhkZSXFxMddeey1NTU1kZWVRWlpKTk4O99xzj999lf4pGFoLGDjQxpw5\n2WrQQV+3l7zQuKCZtv/piIyESZNg924rqaljiIhwkZbmEyCyDKmp8Xi9kSq7nmLTDpQRWVQkhFtf\nSaAUzcXtdqtmCkUj6+4Wy+zubh/jo4LmZhcffbSCO+/M59QpG4cOCaHmdsP69Z9SXb0DWY4jO3se\nYWHiYqOTctKkCYSGyowbl8zQoTByZBNr175BQcEsPvrobebPv41+/RJJSYGbbprOD37wBo899phf\nrLeCY8fg//0/dLw47e1CU922TaxIhg4Vae897ark8Xj4wx/WUFn5OiEh/pS5PXGvm2m1kyaBNtJV\nuz1loMABbf0mTYKkJP17M5bVUyjm3r2mRajIyBD+kEOHfLkfkiSOpab2nDOgpWbuTUtdu1b0DzNn\ndUNDFdXVxwCRg1FZKfw0yqrCuJeC4uMwbowzf/50Dh5c4EfoZgZzSnIHa9euBdDt4Zyf79vsPicn\nhz179lBYWMiRI0fYt2/f2YTIJTrzkJHCWmsGamxs5IknnuC+++6nvd1Gfb1YjcbEiIStnjKeL0YE\nBX4vaGuDN98UfBs2G6SnW/B6k6mtdTFqVALx8RGkp8POnRZiYnzsegpSUgLfe+1a+M53+ha9oQgO\npcNee+3dvP027N6tF5xJSSLUcfJkYc81CpysLN+5x4+nUFHRRk1NDatXe1i4cCGALnTTaKceNAi2\nbn2O3/3uYfbuFfQQUVGn1WdIT3ewcuVKVdib7ba1fr2os5lAqamBY8e87NhxmCuvTPPbVUmLsrIy\nKisrGDPmNvLzb/Z71kDmk0DskZdcIkxJJ0+KCfTttz+itraerq73ueOOG03roLRNYqLIOA0J6Xlj\n7kBJWF1dPuK6QPB4PJSXi/ZyOKx0daFuyuH1ikkgNdX8Wi01szHEV9tmJ06Ivq60r9Hxevnldtxu\nK2lpoo93d4sJXDHtGBOWlO9aJtOEBPj447+zbt06Jk+ezBNPPGG6gY8ZejKJud2wZ4+NBQteJjHx\nfTIzc5g2TfTpxx57jE2bNvldZ7Y/tNYMJJSrQWzbNpNLLtHzVYSECH/J7NnCP/VVQFDg94Dubnjl\nFZ8NHITmWVV1lKNHq4iP7092tnB6Cp55fXx6ZGTPAr+rS4SqXXed/289aYb799t4+WV0SV8KTpwQ\nq4fNm+Gmm3pO7tm7dxMnTrjUMLSSkhLq6up0vClGoTxoEFx6qb/z02g7VYS90ZnmdouNMzwej9/E\ncuaMqL/I5D1ESIjM9dcP9QsxVKBokxMnTiA2NsrvWQNx3KxZs0bVAI0Tw7hxNp56SuQfJCZeQUND\nf+LjR1BeLhzS2hWU0jaXXTaBW26J0sWXK+hpdynl3YKwmZuFhGrLMraXsbzjxwML/L6uJEtKfNnl\nZqsrm83KlCl2HZ/RyZM9b4IC+olgwQJ48UW9s6S3sFUjtxLoV2cNDfC3vynKTwxDh17D7t2we3cc\n3/rWWpxOsRJwufQbyxuf3/i/ujqKvXtHMHKk/+7l3d0i+u7gQUGk11e68y8TQYHfA4qL9cIexIAa\nOjSN7u5u3G44dKgduz2S6Gi9fTUsTDjSQkL0pgGt8OvuFjbsiopWiou3MmnSFEaPjmLYMLjtNn/N\nsKCggK1bYcMGekVnJ7z0Elx3XeCBVFAwh6qqgQwfPoL9+/eriVhZWcNUJ5sYYKLA6dOzzwo9f+en\nlu/EmCegxbFj4rkV7Twzc4gaySHLQpoqK6TExHTq6oSPwGw1oBUidXUnWLnyKdPnLC4u1jkDjYNa\nEcA1NQNISbmFgQOFf6K5uZn2dg/Nzc3ExsaybZtYBYB2k/d/kp29HZvtAV2ZPWmi2mghRficOBHC\nxo07Afz2ugVfexkJzLQw8z8o0ArUnvIRtLu2BeJjUsI+FaHf2ir6m+L/CZS3IEkiamvYMPMtObV1\n074bRYnQcitpr2tvh+eea+ODD3aYZsiWl4tJ6c47zR3AgcZHTIyNwYPv61FpAzHJvPAC5OcHnnAv\nFnwugS9JUgLwCjAYqAFulGXZj2lCkqQaoAXoBryyLBupFy46uN1C+zYiJAQmTw7n8OFu9u8/xObN\nZ7Dbs0hO9gn8sDCRRar0O4W+AHxb5B0/Lpy3p0/D1q2H2bGjiI6OcGQ5m927ISXFxje/WaCy8rlc\nLpYseZOQkJvp1y9wPJxxsL32GuTlnWTDhuf97JT5+fncffd09u1DTZk3bq6t1fIUZ60ZjEJe0Zy1\n2hT4dkYybiwCcOZMDLI8ThfXf/iw/567RiEkSfDqq3/zS1S7//77KS0t9SNmMwq/tjY3N9/8D6Ki\nrkWWRdz75MmQmJhCRISXxEQxAXV1iUiZtrYyCguf5957L2H+fDuLFhnTTnqOGlLK106SnZ0Wiop8\nGoPRZ2C2z7ARfQ3mMstHUOrY2mp+jbFfORzCdq/w52gFvtm76tevjebmlxg79utA3/wrgBpvr9TR\narX6ZZ4XF8MHH+wI2D88Hg+rVpVhsYwNaM4DPWXJxo0bKSj4B+3tCX73MpvMOjqE8nbXXebtd7Hg\n82r4PwYKZVleIknSj4CfnD1mRDeQI8ty0+cs74Jh377AS+zwcLjyyjQiIzuIjbXj8QgHTl2dEBYZ\nGfpol3nz5un+HzrkY+EUpGMWZs7M0WluNTUe7rjjE/7853EMHGjjqaeeYunSRmbOzPITBkondDgc\nusklOzub7m745S9LeP11czvlXXcVUFMDxcWCYjg3d46pQAkPl7nqqsDt1VfThc0mJk2jbdfj8fDx\nx8UMHpzEgAEDdNnLAwYk9+i8jY6GO+/Mp71dCIa8vDzVhLNs2bKArKRKHX/+83fIyhrGwIH6AT1i\nhJURI4bS0eGLsQ8Lg7y8UcydO5L8/G8EDJntC+GX8ZwXXniZAwcCx8X3hPZ2N6+99kyfEtLM8hEU\nBCLfMxPiKSnir7UVRo06xdq1nzB+fDbTpk3AYjnD/PnjGDdOmHtWrfozv/nNwyQltfRoujFrNyVQ\nQXG2GldO+/b17NzX1r2s7IDOnKeFYopU2FuHDFlLZOTXdWGpilnt4MGD2O12nXJUUyOi4cwyyy8W\nfF6Bfw0w8+znlcBGzAW+hEjK+spg//6ef4+Pt3LNNaOQZbjyShHhUVoKb77pobTU10GUzqJo9i6X\nnnJZ2KuPMHhwuE7QigSfD0lOruZvf1vEqVP+27Ap0PJ/mC37MzMv55FHlpOfLxyPem1c7Azl8fi2\n2PO/99tccskeEhO/3Uur6ZfkZoO3Xz+x+lG2glQEv0gTbwVklY1T2Ug6Pv4UeXljAjpvhwzRJ649\n8cQTprQUZmaWG264m+eeS+XAgQpef/11AJUJ1Ked+nafAggJSQgotIzPHygCRDGlaO/zpz/dxm9/\nu6dXoWXWDgcOfMybbz5EcXGhaRKSFmb5CAqsVnMtvyeBGhMDx48/xxtv/IBp05bws58V4BMLAosW\niQm5t4xao1NbWSkq5h+jEnH6NBw+7KasrDzg6kebBBYTs0CdOIzQToRr1qxh/Pir+d//9XFRWSwW\nKjCDyq0AAB7HSURBVCsrSEqyqXkZRloLl+s/W+CnKBQJsiwfkyQpkLVLBjZIktQFPCPL8rOfs9wv\nFJ2dgXnwjUs6SYL6+hb+8IdnuO22fCoqyigsLFbP1w5Ssf+n/n6KvXrcOPMBUFc3kK4ucDqvJytr\nE2NM2MaUDu3xeMjMHMK8efN0HV/EiN+nLvmNg2rgQBuzZ0chSdns3CmcdrGxYtWyaNEYcnJKueee\nr/ep7YwD0kwwzpghoou01NNKUlhYWH9OnQpR6+lyucjMNO9WStTKjTeOQMsQqkBJuApUN4BPPgkj\nPd2O1+sT9D3ZycGn7ZtNIGYmCaU8oynFSA0wd248hw5lm3Lg9yRwAX74w0l0di7wM1/1BO0EtGrV\nKgCGDHmI1tbAyoUZ0tLg+uvvICysK+CKpi8ZtQp6srMbk7RiYmxs317e42Rotep5h/7f/9Mzmwaa\npL3eeN19tBOH1zsEl8uFw7Bpr5FO/WJDrwJfkqQNgNYVISEE+KMmpwd63GxZluslSUpGCP69six/\ndM61vUA4evTclravvbaJl18WHXTJkrvp7Axn9Gj9xhEg+FCMe7JaLBaGD7fT2enixRdXq47dKVOE\nm+P0aTh48ARFRVuorKxgwIABWCwWHA4H+/fv12k1paUlgMgMVWzyimYyapQT8KW9KoOqtdVDRcUk\nBg2ahdVqZexYHz1uRARER8fx0EPfIzKyb9m/fTFlpKQIG3lJie+YkqjzySc7kaTxqg3fbrerG5oY\nIVZBv+bVV6fponDMKAQC1W3Vqq0UFW1i5swctUwzp6kWyqDuK+Wx8ZhiSnG73brrlUzZZ5/1j8Dq\naUOb8eMhOzuBlStX6hyevcHMlv/QQ/ZzpmOeOrVv5HB96Ru9nWc2cUya5Fuder0iO3vr1m2EhnYz\ndepktW8p5xw8KPxCxnZQoH0n1113iRpOqkwcRUUbycoaRnV1Ffv379f1MWNm+cWGXgW+LMtzAv0m\nSdJxZSMTSZLSgIYA96g/+79RkqTVCL78gAL/y2bLDOS4AnNNa+rUmUycqCRzJPHcczN54QUhOLVk\nW8ePW/F6vWqsvpK9GBPTwcsvv8yJE8J+qySrABQVbeTee5/jzjv/l9ra/moCi2K+Af0AVJgwtdv+\nAWRkNHHjjQvV78pgOnAgnpdfLmXmzCi1Y0dFCd78zZvL6Ohw8umnVm64AV5/vXdmw76yQk6a5OLF\nFz8mIeEydeIqKytj06YNTJ1qISxMDGJJCuyMTE6uBNbj8YxTj5lNStpj2rq53TBo0Hiyso4xZswY\n3cDtaYMRRViYCSbj8wfaotJoqtDW8a67bLzyisgB0cKsTuPHi0nCrOzeoJ2AJp/N2vr2t/NYtcp/\nDARaYSiUGn1BX+tndl4gU6HL5aKsbA8JCVPZubMfHR1w6JCL6uouoIuTJw+Tm+tQN5oHXzSTdoWj\nbQ/t51tvjcHrzVZXdcrzOxwOMjIydO0xaJB+Ivki8WWxZa4B7gJ+A9wJ/Mt4giRJViBEluU2SZKi\ngLlAjynAXza1gnEDCPBxYYO/BhgXF0N+vq+DpqcLjpe334a//12/haBinz52TAiZqCgrx4/vVOPh\n582bp2pTCQmJ2O2Def/9PzFy5JVkZ9+mOjmNHU7Lk6NoNMry02KxMHv2RN3zKIPqr39tpaZmpzqR\nKOdro2eys7N55hk3Ho/FL1PT5RIZojU1Ikqpu1towP36CWfd2LG++GTtoF25cgUvvfQjpkz5ESUl\nodTU1KhObYdjIKWl5fTrN4pBg8JpaREab0gInDnTTm1tKd/73jjgCK+/ju5dmG1w0djYyNKlS/3i\n8evqxGqosrKCjIwMncDvSaMdNEjfhp8XJ06c4KGHHtJFzNx3n6CX2LPHtyr0bb7joaWlgj/9aR5X\nXDG0hzv7IxBVsLZd8vJESK+Wx0jpU0Zz5tVXKzkogcs4HwhkKvzBD1awfr2FzMxMbDYblZWVpKWl\n0a9fJImJicTGZlBWJkJJlX6oCPye9hrW+lquvfZu3noriVOn9Cst7bMlJcG1156XR+0Tviy2zN8A\nr0qSdDdQC9wIIElSOvCsLMtXI8xBqyVJks+W96Isy+9+znK/UJglNGk1ZqOjRuvQU5CYKJIxBg0a\nRXj4GUaPdlJZKWz2x44do73dw8GDB7j55glYrWOIiPDqNLePP/6YpqaTpKSEsGTJT5gzZwFvvhm4\nw5llOGo7RCAtrKUlRuXGnzlTnF9YuMGPJGzr1nIKC4/x+OMDsdlsNDaKTOGamsDteOyYSACbOlU4\nto3CGIR2+cADj7Jhwy4cjv5kZ8/ik082UVLyIpde+i2OHr2EAweE0AsPB7e7jr17P6J//0Yef9wX\n+644ArXan1JermbjWa0wkmVbQM010PGYmPMXa200qWjjy61WoblffbVox5oacDpHM2rUQcrKnmfP\nnlf51a9ms23bXNNwW+X+M2bM4Mknn2TZsmU4HI5eqYVdLhdvvrmCadO+xe9+t1tNcsrOzlYnnIMH\nDzJ48CAefXQCo0b5b7/YlzLOdUKYMWMGI0aMYMaMGeqx994TLKrZ2Z8iy+lnd107SUtLC93dXbS3\nt6ur6AMHxDX9+/tMcoFMR2amrgcfLGDzZrEjmHblFRYmaM8XLDCXAxcbPpfAl2X5JOC3jfNZE87V\nZz9XAxOM51zMMDI3gs9ho3zWoic+jVmzEpgxYyZVVfDaa7B9u4XZsx3s2FHMvHljz5or9MJ6//79\neDxukpJs/Oxnedxyi7Atb94s4vc/y/MYfEuAGHjFxTtoaQmlqGijKvCNsfjaZ7ZaM/n2t18hKelq\nIiL6ttfbli1CYGsdbuDTql566c9nBcBYYmOhqGg0R448xOnTmTQ2nsHlcqvbM0ZF2UlOvof6+mhe\nfTWC06f78+tf36Pac40OPkAXFaMVRm1t0WzdOsnUZq8NG9VueTdzpi+ZzixB6Fw25FBMCdrwSOP1\nkiRWjOnp0NISz9Chd1BVdTkRERITJgwKSAsAwhY9YsQI9u0T20uvXbtWra/Rf6BAuceSJfDzny+k\nocGqOiadTie1tVVUVLxJdfUWFiz4H2bP9l/h9FaGkgHd2Niotrsxtt6IJ598kn379vHkk0+ydu1a\ndu4U++9arVZycyexfTtkZWWxe/du2ts9REZaydLyiCACMVJTfZp+oBWaWdhqRITYrWvmTLFCOHVK\nrGZTU83lxcWKYKatCcwy68xY/ECYejZseI1hw6aZ7qIEQgsYPlzsJLR8ObjdFjo64khIiDS1yyrC\n9bLLJnDNNT6hesUVcDaY4pwwZYo5Ze6KFStYs2YbM2d+h9zcOaoZJzdXuG0UQQdihTNhgpN//OMw\nu3bVkZtbHtCJqLSL9rl27IBLL9U73PLz8/22cTxyBJ59NhGLJZETJ6ClpYXm5iY6Ojro6Gino6MD\nm83Gvn2h1NXBlCnXMWPGdtNEGrPwQyXxxuPx8LvfPQmI44H8RFrTzk03ZZ/NtO3Z0dcbzCgferqu\ntVWQuvnI1TLIzl5FcnIrP/1prBqxotVYT5w4wcaNG3nggQf4v//7P3U7Q21SHKBeGxdno7wcUlLu\n4cYbRxMXN52VK9eyY8dfmDtXpqMjgRtuuJ7vfnc+K1YcBMb2GJFj9FGYQbStWEEoE7Zx0xplLCn1\nX7ZsGWfO+GebjxwJ7e3C7GT0kSk4c0bQOpspP2b1B//3Ikki7yPafAvfix5BgW+C1FTxYvsSYlVe\nXsaGDfdRWZljygyphc0mOtvzz/uECOBnK7ZarVx+eTa33urbZMLlcrFmzQqczm9RVhbvd28zeDwe\njhx5j/vuuxTw157y8/M5ejQFi2WKqkErfgCtoFPq2NAQxalT8YwYcSVOZ4ZfWVoBb7SBezwefvnL\nN7j/fp+DzLit4w9+UMCLLwpNrOlsil702ZFltVo5efIkHR3ttLW1ERcXd1YQdnHsWH9ef30djzzS\ny0jGx6MzefL/b+/8o6Mqzzz+eSaZECYhATIgbAJJMPyS0CYUEY2Q2CSCWWVrtUUOp9uyrtpds7Sl\na+xat0BPT3XRUjzFnqPdmrr+3lK7UqsFoxCPqTbIr+Cv8EsQUEsTkhgJv5K8+8c7d3Jn5s4kIZMM\nCe/nHI/MzM3c586993nv+7zP830up7BwHtXVr3HuXHHY7a0Br7j4i1xzTSMPPvhY2BqDnmTH6FlV\nTbfbWRw4oGeGwdldAIcPx/HKK/Hs2vWfAAHhE6uIqKioyK8qacee7XL6dDrjx99GUxO0tcVz4kQq\ndXVnef/98RQWPkZd3Sk2bfq+v2jKaY3NKUwT7gnayqKyp4PaZ0pONRR2dcy9e0MXlYcP1/Udb7+t\nb1qn5AiAnJyeVyRHOrbBitHDdyA+HurqnBdvg5k5cxTFxcksX748RI/dwq6JPnOmh6am0XR2JpGf\nn+9vNzh16lR27tyJ1+tl5Eg3N91EgLKlpfM9a1YapaUFIfn8TuzbV8Vzz32FsWPTwuYnz5qVwW9+\ns42UlHEBmvOWbnlnZyeTJk3is89OcvJkNh999BGpqWOZNWtMQLvGmpoatmx5za8b7/V6/Qt9breb\n2tpann32btLSOklISCA/P98/OBQVFVFcXMw3v3kvHR3zqK/3+BuRuFwu3G43J0+eJDk5mfb2DlJS\nUvz9BkQSGT06h1tumcuMGV1B1HB9Ayxt9TvuuIPjx49TXf00eXk3M36882DhdruZP38it96awOOP\nd+nJl5aW+pVErfNXWVnZbZ+Chx9+mEceeYSysjLuu+++iNsePw5PPKFTc6ErccA6N7W1tfz5zx9Q\nWjqGCRPGcu+99/q17p005IPxer3s3n2O4cNvZdu2PXi9Xv9A3dTUxM6dO5g8eTJ5eXPxeC6noKCM\nL3xhmGObzkg6/8FY4TKv1+tffLRstH4/S6/ebvuxYw385CdPcezYFHbtGkZTkyUL3sb27bVkZHg5\ncuRd6uoOc+rUOT755GPi492k+nIlR46E22/vfWFUb44tVvRUD984/DA0N8PRo6HvB990hYXDWLy4\nIKCRRjD2C6awsIA5cxKYMGEiZ864aW/XujH6RvsjubnNrFqVG7IwaL+BJ0/2kJmpn3KcGmKMHAmz\nZjVz6tTzFBXNC7lx7Pzylw+zfv39eDyXByh9Wg0rtmx5jdbWVg4cOMGoUdMYPXo048b9HRkZcQHZ\nGYcOHeLw4UNkZWWRlZUV0jhj7Ng0ysoUHR1n/I6ptLTUf8PfcccdvPLKAVpa0unomBFgY2trK83N\nTZw6dZpz587icsWR6Fshc7lcpKamkpDQSV3dum4bjVjOxuPxkJub62v+cpxp0/Jobk4MmNWlpuqY\nbVmZXjCO5ESt/Xk8HrZt2xbW8VvfsXr16m6fFp96Sp/fhoYGfv/733PixAmqq7f6B2Y9qCaxatWt\nlJVdHmCb/TjD8dBDv+TJJ6G5uY0dO7b7B2iPx8MVV1xBamqq//XEiRNpahrmb9wTjNfr5eDBgyxf\nvrzH6xhOA7Ll7O2DQGenlq1evryGJ598l08/vYTOznGcOHGO3buPsXdvC9u3v4HHA3PmzGT48Cam\nT8/B7Ybs7AxGjIgnM1Mr3RYWwunTofuO1FioJ4NnrDENUPrI3LlaKiG4AMseqrj++oKITScsgqf/\n8fFaQ7u4WMsBt7bCLbdM44UX/sytt5b4BcbsBE+Ps7P1f59/rrV5RLRTSkzUi1KrV6/jxz9ezcqV\nK8PegF1NMb5GVtbMkIwbe85xSsqnJCamh8RFLay00KlTp/rzg+2LobNnJ3Hzzd8LG9ddu3Ytp07d\nx5Qpxbz6aqCOUXJyMqdOneLMGR3X6AhKozp7FjZvPso77/Ss0YgdS1xtzZpEVqy4i9ZWHT4ZNkwv\nlNqJlIbZ3UKl03dEChUcPdqlj2/pI50+fZq0NC+ZmZlA1+CVlqbDFL1NEW1sTAM6GT9+PJdeeqnf\nuduzwIIXrV9/Xa9xBRd8B0tOd0ckcTk7HR3w5JPw4YfQ3m71ZNYXh5XinJmZRXb2DYwZMxaPJ5Gr\nr74KgNzcwNDnxIk6XPvAA11ZOJYMRU/E7oYCfdK3EZGbReQdEekQkVkRtlsoIh+IyF6fyNoFT2oq\nXHll6Pv5+fmUlJTypS/lsWhRaA6yE9YF4+R409K02Nq0aWncfXeX1HCk5tJ2kpN1Wtj06foJJj0d\nGht7Fie24qVJSUl84xspftlbC/vU+4orcv3O3uPRDtFyBlaT6vz8fDZt2kR19Vaqq7f6i8e8Xp1e\nGPxbWGqaVon6yy//hksuSQtpJhEX1/VED/izpSxEICNjHAsXXu9fvI30m9uP354OmZSkZQKyskKd\nfXdY+ysvLw/RarEfZ/D+KyoqqKysDNlu9+6u7RYsWEBOzmRcLheNjQ1UV1cHfM/5arcUFV1PTs5k\npofrek5Xy8INGzbQ1tYG6HTI4PWtZcuWhdWocTp+a3tLIjrc9b5xo3b2oB8gSkpKmT9/BvHxOsU5\nO3sS6enpTJw4kU8+SfSHv+zoIsI3mDJlPw888ACLFi2irKxLhqI7+4cSfRU02wPcCFSH20BEXMB6\nYAEwA1giItP6uN8BoagIgqVL9JSzgMWLkxyntsEXd7ib3fps1apVrFq1yv+53Qk4/a3T3wRTWVlJ\nVVUVZWVllJeXh7XBfpHHxcHixTB1agtbt27xZ7JYpKV1SRtbDsaa7ViOvba2lv379zFy5CiuuqqA\n/Px80tN1PYJTjnKwwxs2TIvQZWR09XC1GDFiBCNGpDBsWCIJCQkBT/mJidDaupc//WkzGzdudPxN\nnLBu/LVr14YMQOeL00ATfJzB+7cGKft2TU2B37l06VJuuOEGcnIm+wvUADIzCSs9AYHXX/Dxvfrq\nm+zfv4/q6uqA8whdg7k1uH744UF27txJW1sbL75Yw9atBwK+K9xAHun4AZ555hnHzxoaGrj99kd4\n8MFX/Nei9QCSkuIhJye0365Set0jmD173mbz5n/mtttuoKKigo0bN/L4448HOPiePCAMBfqah18P\nIOK0jONnDrBPKXXYt+2zaJXND/qy74EgLg4KChrYuvWPZGV9FZdrBBkZMGNGIy+88BgTJoQWvAQX\nFy1ZsoSqqirHnGOnjASnwiHommZaKX2gF0oLCgpCcpit1EPLkdl118OV+lvHe/Too1RXrwXKAgrM\n4uL04Pe3v2mHDOGLk5qbm0hNTeBrX/MwezaOi3zWMdr/D3DttXrBvLERRM7x0UcnSU4eQVxcHKNH\nj/anaVrN491uyMuDCROm8+Uv38PJkyepr68PmyILgf2B7WGIcB2y+kqw4BfguH/777FhQys1NXUB\n6bqW47fjNAu1Ey59dNmyZYg0UVhYRG5ubohMgDWYFxYW+esz7NlbJ0+28uabOlWyO1lsp/Mc3LIz\neEakdemzAd1lxX4tNjQ08Oqrm5g9u4wjR5L4+ONP/dk4Z88GHv/o0bB27Qxcrkt56aWXKCkpCagD\nsQYnp2YwQ5GBiOGnA/a+UUfRg8CgoLKyknXrKliz5ritDP0XAY7BqYLUyjG38oydco4tR2D/u0jK\ngPYLMScnh6qqKv93Rmrh19N4tn2fAIsXT6O1FQ4daqGq6jlSUj5j5cpvsXevlz17oKGhjUOHDvkX\nuq688nJSUloYM6aBH/1oBr5Qc1jCxbOXLoXXX/+AlpZ0mps/JiFhCklJY+js7ErTTE5OxuOBggId\nxrr66iR27vRQUVHhj8uDc3w4krPpLT1N2bNsSvLl2Trt3/57vPfeE1RV6fZTlqOz9z2or69n2bJc\npk2LrNYVLn20srKSRx5ZyYIFm/B6vSG22wsNnRrifPvb6Rw8OC5AB8hymlYD8EiDr92u4H3rUNub\nZGcv9jtyq91mbW0tu3fvprm5icbGJ5g+fRYffngIt/sqMjImIaJDjhMm6HWGyy6DuLg0v7Ccpa1v\n3YORmsEMRfqilvlDpdQf+suwC4WeOMvgizf4gikpKWH9+vUhOcd2DXcnnJQB7TnM5eXlfocfyebe\nLDo52VRd/Si/+pUe0C65RHHXXXdRUgLXXnsn+/dvJTOzmGeeeZqRI5Nwu/+hR/sJJvhJdPPmCr76\n1d/i8eQxatRI4uP1Qq5ScbhcqaSn67TVhAQd1pg3D/LyQisknQjnbHraSNvJ7kcffZQbb7yRioqK\nMA4stKF7pEHi7ruvo67uLxw4cICpU6cGpExq4bxnKSmZj1U4Fo5wYm6WHenpX/DLDtgJlhS214gU\nFBRw2WVw002B7S3tTtO6bsMNvt0tgLe0JHH27M0BWTE1NTUBgoBNTSdwu9spKckmP38cHg9cd52W\n8gj3OwQnDThV1VoMpfx7C1FREHAWkS3A95VSOxw+mwusUkot9L3+AaCUUv8V5rvUypUr/a9joZbZ\nHT29EKJxwUT6joG6IMNVP9bX17NixQq/Tktf9+EkVXD2rJeXX9ZhHpdLL5InJuoQk243qcNA4Rqd\n9zcNDQ3MmzfPL1+wZs2aiEqPvTlPpaVLqKpKJieniKVLl9LW1sb+/W9w55057Njxu6ic9/Z2qKzE\nUYM/nGKo2w3f/W5gUWBwYxcg5L3e2NrcDOvWhdpjSX5rO9wBs4+4OPje96JXBWsNZE7nNNYEq2Wu\nXr0apVSk0DoQXYf/70qp7Q6fxQH1QDE6IFcLLFFKvR+8rW97FQ2bDEOLlhYtIvbZZ7qHalqaTktN\n6pmcT79SX19PeXk5+fn5jk/4ffneFStW8NOf/py0tCmkpkbWbTpfPv9ca/C3hHSjdqa4WM+o+pP2\ndvjZz3pW/Ggxf76WH4kWg+kJX0T63+GLyFeAX6Dr9puBXUqp64LUMhGRhcBD6KygXyul7o/wncbh\nGwwDTFubbsJttZ50wuWCq67SDj9imkaUqKkJ1cwJx/Tp8PWvD4xdFyID4vD7A+PwDYbYceyYDp8d\nPapnVB0dXYug11yj6xQGis5OeP553Q4zEjNnag3/waRaGW2MwzcYDH2io0M73Vg70vfeg82bA2VE\nhg3T6cEFBbqJ/cWOcfgGg2FI0dKinX5yss6vv1jDN04Yh28wGAwXCT11+H2VVjAYDAbDIME4fIPB\nYLhIGCi1zEMisltEdopIbV/2aTAYDIbzo9/VMn10AkVKqXyl1KDR0Yk29sq4oYg5vsGNOb6hT58c\nvlKqXim1D62vEwnp676GAkP9gjPHN7gxxzf0GSgnrIBXRGSbiNw2QPs0GAwGg42BUsssUEp9IiJj\n0I7/faXUG70312AwGAznS7+rZTpsuxJoVUqtDfO5ScI3GAyGXtKTPPxoNkBx3JmIeACXUupzEUkC\nrgXCdlfvidEGg8Fg6D19Tcv8iogcAeYCL4rIy773x4vIi77NLgHeEJGdwFvAH5RSm/uyX4PBYDD0\nngtOWsFgMBgM/cMFmSopIv8mIu+LyB4RCaudP5gRke+LSKeIjI61LdFERNb4zt0uEfmdiKTE2qa+\nIiILReQDEdkrInfH2p5oIiIZIvKaiLzru9+Wx9qm/kBEXCKyQ0Q2xtqWaCMiqSLyW999966IODR5\n1FxwDl9EioAbgJlKqZnAg7G1KPqISAZQChyOtS39wGZghlIqD9gH/EeM7ekTIuIC1gMLgBnAEhGZ\nFluroko7sEIpNQO4ErhziB2fxXeA92JtRD/xEPCSUmo68EXAsZsgXIAOH/gX4H6lVDuAUqohxvb0\nBz+nu+7TgxSlVJVSqtP38i0gI5b2RIE5wD6l1GGl1DngWeD8OrVfgCilPlVK7fL9+3O0s0iPrVXR\nxfeAVQb8d6xtiTa+GfQ8pVQlgFKqXSn1WbjtL0SHPwWYLyJvicgWEZkda4OiiYgsAo4opSI0kxsy\n/BPwcqyN6CPpwBHb66MMMYdoISJZQB7wl9haEnWsB6yhuGCZDTSISKUvZPWoiAwPt3E00zJ7TIRi\nrnt9No1SSs0VkcuB/wUGVU+bbo7vHnQ4x/7ZoKInxXgi8kPgnFLq6RiYaOglIpIMbAC+43vSHxKI\nyN8Df1VK7fKFiwfd/dYN8cAs4E6l1Nsisg74AbAy3MYDjlKqNNxnIvJt4Hnfdtt8C5tpSqnGATOw\nj4Q7PhHJBbKA3SIi6HDHdhGZo5Q6PoAm9olI5w9ARL6FnkJ/eUAM6l+OARNtrzN87w0ZRCQe7eyf\nUEq9EGt7okwBsEhEyoDhwAgR+R+l1D/G2K5ocRQdMXjb93oDEDax4EIM6fwfPkchIlMA92By9pFQ\nSr2jlBqnlJqklMpGn6z8weTsu0NEFqKnz4uUUmdibU8U2AbkiEimiCQAtwBDLdPjMeA9pdRDsTYk\n2iil7lFKTVRKTUKfu9eGkLNHKfVX4IjPVwIUE2FxOiZP+N1QCTwmInuAM8CQOTkOKIbeFPMXQAJa\nMwngLaXUv8bWpPNHKdUhIuXo7CMX8GulVNgsiMGGiBQAS4E9vuJIBdyjlPpTbC0z9ILlwFMi4gYO\nAsvCbWgKrwwGg+Ei4UIM6RgMBoOhHzAO32AwGC4SjMM3GAyGiwTj8A0Gg+EiwTh8g8FguEgwDt9g\nMBguEozDNxgMhosE4/ANBoPhIuH/AXH+Ft7j8svFAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f174a828190>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from megaman.utils.covar_plotter import plot_cov_ellipse\n",
    "\n",
    "n_plot = 50\n",
    "rng = np.random.RandomState(8675309)\n",
    "sample_points = rng.choice(range(N), n_plot, replace = False)\n",
    "\n",
    "f, ax = plt.subplots()\n",
    "ax.scatter(embed_isomap[:, 0], embed_isomap[:, 1], s = 1)\n",
    "ax.set_aspect('equal') # if an ellipse is a circle no distortion occured. \n",
    "for i in range(n_plot):\n",
    "    ii = sample_points[i]\n",
    "    cov = H_isomap[ii, :, :]\n",
    "    plot_cov_ellipse(cov*0.05, embed_isomap[ii, :] ,ax=ax, edgecolor='none', alpha = 0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "we can also do this with the spectral embedding:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f174dcf8f10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, ax = plt.subplots()\n",
    "ax.scatter(embed_spectral[:, 0], embed_spectral[:, 1], s = 1)\n",
    "ax.set_aspect('equal') # if an ellipse is a circle no distortion occured. \n",
    "for i in range(n_plot):\n",
    "    ii = sample_points[i]\n",
    "    cov = H_spectral[ii,:,:]\n",
    "    plot_cov_ellipse(cov*0.01, embed_spectral[ii,:] ,ax=ax, edgecolor='none', alpha = 0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Best parameters for large data sets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Adjacency Matrix -- using FLANN"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Although megaman works equally well with small data sets when using\n",
    "a data set of significant size (N > 10,000 or so and D > 100 or so)\n",
    "there are a few things that should be considered.\n",
    "\n",
    "For compute_adjacency_matrix it is best to use 'method' = 'cyflann'.\n",
    "\n",
    "The 'cyflann' itself has several parameters that can be adjusted.\n",
    "\n",
    "the 'cyflann' method defaults to 'kmeans' which has additional\n",
    "parameters that can be accessed with:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.03115296364\n"
     ]
    }
   ],
   "source": [
    "import time\n",
    "N = 100000\n",
    "X, color = datasets.samples_generator.make_s_curve(N, random_state=0)\n",
    "radius = 1.5\n",
    "adjacency_method = 'cyflann'\n",
    "cyflann_kwds = {'index_type':'kmeans', 'branching':64, 'iterations':20, 'cb_index':0.4}\n",
    "adjacency_kwds = {'radius':radius, 'cyflann_kwds':cyflann_kwds}\n",
    "affinity_method = 'gaussian'\n",
    "affinity_kwds = {'radius':radius}\n",
    "laplacian_method = 'geometric'\n",
    "laplacian_kwds = {'scaling_epps':radius}\n",
    "\n",
    "geom = Geometry(adjacency_method=adjacency_method, adjacency_kwds=adjacency_kwds,\n",
    "                affinity_method=affinity_method, affinity_kwds=affinity_kwds,\n",
    "                laplacian_method=laplacian_method, laplacian_kwds=laplacian_kwds)\n",
    "geom.set_data_matrix(X)\n",
    "t0 = time.time()\n",
    "adjacency_matrix = geom.compute_adjacency_matrix()\n",
    "t1 = time.time() - t0\n",
    "print(t1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "cyflann also has the option to use 'kdtrees' which has parameters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.20993804932\n"
     ]
    }
   ],
   "source": [
    "N = 100000\n",
    "X, color = datasets.samples_generator.make_s_curve(N, random_state=0)\n",
    "radius = 1.5\n",
    "adjacency_method = 'cyflann'\n",
    "cyflann_kwds = {'index_type':'kdtrees', 'num_trees':10}\n",
    "adjacency_kwds = {'radius':radius, 'cyflann_kwds':cyflann_kwds}\n",
    "affinity_method = 'gaussian'\n",
    "affinity_kwds = {'radius':radius}\n",
    "laplacian_method = 'geometric'\n",
    "laplacian_kwds = {'scaling_epps':radius}\n",
    "\n",
    "geom = Geometry(adjacency_method=adjacency_method, adjacency_kwds=adjacency_kwds,\n",
    "                affinity_method=affinity_method, affinity_kwds=affinity_kwds,\n",
    "                laplacian_method=laplacian_method, laplacian_kwds=laplacian_kwds)\n",
    "geom.set_data_matrix(X)\n",
    "t0 = time.time()\n",
    "adjacency_matrix = geom.compute_adjacency_matrix()\n",
    "t1 = time.time() - t0\n",
    "print(t1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Choosing between these two options and their parameters ultimately\n",
    "depends on the data. If the 'kmeans' method does not produce\n",
    "satisfactory results then one should try the 'kdtrees' and also\n",
    "adjust their parameters. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Embeddings"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The embeddings methods do not all scale equally. In particular\n",
    "they are from best scaling to worst scaling:\n",
    "\n",
    "Spectral Embedding & Diffusion Maps, Local Tangent Space Alignment,\n",
    "Locally Linear Embedding, Isomap\n",
    "\n",
    "Therefore for the largest data sets it is best to use either\n",
    "Spectral Embedding or Diffusion Maps. \n",
    "\n",
    "Furthermore when selecting the eigen_solver for best results\n",
    "use 'amg' which uses pre-conditioning. Method 'lobpcg' \n",
    "will work on large data sets but depends heavily on the \n",
    "initial estimation without the assistance of 'amg'."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
